Find the day from a date

Find the day from a date

To find the day from a particular date, you can use the modulo function with a date in the past that was a Monday.

For example, we know that the 7th of January 1980 was a Monday, so every 7th day after that is also a Monday. Subtracting this baseline date from the given date, and then using the modulo operator we can determine a number for each day of the week as follows:

the numerical form of the day of the week = (the date - 1980-01-07) modulo 7

This number can then be used in a rule table to find the day of the week:

 

the day of the week
"Monday" the numerical form of day of the week = 0
"Tuesday" the numerical form of day of the week = 1
"Wednesday" the numerical form of day of the week = 2
"Thursday" the numerical form of day of the week = 3
"Friday" the numerical form of day of the week = 4
"Saturday" the numerical form of day of the week = 5
"Sunday" the numerical form of day of the week = 6
uncertain otherwise

 

NOTE: Dates before the baseline date (eg before 1980-01-07) will give a negative modulo (ie Monday 0, Tuesday -6, Wednesday -5, Thursday -4, Friday -3, Saturday -2, Sunday -1). You can either choose to write rules to take this into account, or choose a baseline date so far in the past that it is unnecessary. If you want to take earlier dates into account, you would need a rule table like this:

 

the day of the week
"Monday" the numerical form of day of the week = 0
"Tuesday"

the numerical form of day of the week = 1; or

the numerical form of day of the week = -6

"Wednesday"

the numerical form of day of the week = 2; or

the numerical form of day of the week = -5

"Thursday"

the numerical form of day of the week = 3; or

the numerical form of day of the week = -4

"Friday"

the numerical form of day of the week = 4; or

the numerical form of day of the week = -3

"Saturday"

the numerical form of day of the week = 5; or

the numerical form of day of the week = -2

"Sunday"

the numerical form of day of the week = 6; or

the numerical form of day of the week = -1

uncertain otherwise